package models

import "gorm.io/gorm"

// SysMenu 菜单结构体
type SysMenu struct {
	gorm.Model
	ParentId uint   `gorm:"column:parent_id;int(11);" json:"parent_id"`
	Name     string `gorm:"column:name;varchar(100);" json:"name"`
	WebIcon  string `gorm:"column:web_icon;varchar(100);" json:"web_icon"`
	Path     string `gorm:"column:path;varchar(255);" json:"path"`
	// 排序规则，默认升序,值越小越靠前
	Sort int `gorm:"column:sort;int(11);default:0" json:"sort"`
	// 菜单等级，{ 0: 目录，1：菜单，2：按钮 }
	Level int `gorm:"column:level;tinyint(11);default:0" json:"level"`
	// 组件名称
	ComponentName string `gorm:"column:component_name;varchar(255);" json:"component_name"`
}

// TableName 设置数据表名称
func (table *SysMenu) TableName() string {
	return "sys_menu"
}

func GetMenuList() *gorm.DB {
	tx := DB.Model(&SysMenu{}).Select("id,name,web_icon,path,sort,level,component_name,parent_id").Order("sort ASC")
	return tx
}
